package com.lmxdawn.api.admin.service.auth;


import com.alipay.api.AlipayApiException;
import com.lmxdawn.api.admin.entity.auth.AuthAdmin;
import com.lmxdawn.api.admin.req.auth.AuthAdminQueryRequest;
import com.lmxdawn.api.common.session.UserSession;
import com.lmxdawn.api.dnf.dto.ExtractReq;

import javax.management.Query;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface AuthAdminService {

    List<AuthAdmin> listAdminPage(AuthAdminQueryRequest authAdminQueryRequest);
    List<AuthAdmin> listAll();

    AuthAdmin findByUserName(String userName);


    AuthAdmin findById(String id);


    AuthAdmin findPwdById(String id);

    boolean insertAuthAdmin(AuthAdmin authAdmin);

    boolean updateAuthAdmin(AuthAdmin authAdmin);

    boolean updateOnlineStatus(String status, String id);

    boolean deleteById(String id);

    Map queryBalance(UserSession userSession);

    boolean extractWallet(UserSession userSession, ExtractReq content) throws AlipayApiException;

    void addWallet(String saleUser, BigDecimal totalAmount, Integer type, String id);

    void unbind(String userId);

    List<AuthAdmin> listByIds(Collection<?> jimOnlineUser);

    List<AuthAdmin>  listExpireUser();
}
